package com.chuzhong.system.service;

import java.util.List;

import com.alibaba.fastjson.JSONArray;
import com.chuzhong.common.enums.AttachType;
import com.chuzhong.common.enums.FileType;
import com.chuzhong.system.domain.SysAttachments;

/**
 * 系统附件 附件Service接口
 *
 * @author chuzhong
 * @date 2021-03-15
 */
public interface ISysAttachmentsService
{
    /**
     * 查询系统附件 附件
     *
     * @param id 系统附件 附件ID
     * @return 系统附件 附件
     */
    public SysAttachments selectSysAttachmentsById(Long id);

    /**
     * 查询系统附件 附件列表
     *
     * @param sysAttachments 系统附件 附件
     * @return 系统附件 附件集合
     */
    public List<SysAttachments> selectSysAttachmentsList(SysAttachments sysAttachments);

    /**
     * 新增系统附件 附件
     *
     * @param sysAttachments 系统附件 附件
     * @return 结果
     */
    public int insertSysAttachments(SysAttachments sysAttachments);

    /**
     * 修改系统附件 附件
     *
     * @param sysAttachments 系统附件 附件
     * @return 结果
     */
    public int updateSysAttachments(SysAttachments sysAttachments);

    /**
     * 批量删除系统附件 附件
     *
     * @param ids 需要删除的系统附件 附件ID
     * @return 结果
     */
    public int deleteSysAttachmentsByIds(Long[] ids);

    /**
     * 删除系统附件 附件信息
     *
     * @param id 系统附件 附件ID
     * @return 结果
     */
    public int deleteSysAttachmentsById(Long id);

    /**
     * 附件保存
     *
     * @param relId           业务id
     * @param attachType      业务类型
     * @param fileType        文件类型
     * @return 条数
     */
    public int saveFileListByRequestBody(Long relId, AttachType attachType, FileType fileType, JSONArray fileList);
}
